/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import metier.ListPersonne;
import metier.Personne;

/**
 *
 * Classe créer pour l'interface graphique.
 */
public class MonModeleTable extends AbstractTableModel {

    private String[] nomColonne = {"Pseudo", "Nom", "Prenom", "Centres interet", "Degrée de Célébrité"};
    public ArrayList<Personne> listePersonneAfficher = null ;

    public void initialise(ArrayList<Personne> list) {
       
        listePersonneAfficher = ListPersonne.getListePersonne();
        fireTableDataChanged();
    }
    public void AfficheTriList(ArrayList<Personne> list)
    {
        listePersonneAfficher = list;
        fireTableDataChanged();
    }

    public Class getColumnClass(int c) {
        return getValueAt(0, c).getClass();
    }
    @Override
    public int getColumnCount() // OBLIGATOIRE
    {
       return nomColonne.length;
    }

    public int getRowCount() // OBLIGATOIRE
    {
        if (listePersonneAfficher == null )
                {
                    return 0;
                }
        else
        {
            return this.listePersonneAfficher.size() ;
        }
       
     
    }
    

    public Object getValueAt(int row, int col) // OBLIGATOIRE
    {
        Object temp = null;
        if (col == 0) {
            temp = listePersonneAfficher.get(row).getPseudo();
        } else if (col == 1) {
            temp = listePersonneAfficher.get(row).getNom();
        } else if (col == 2) {
            temp = listePersonneAfficher.get(row).getPrenom();
        } else if (col == 3) {
            temp = listePersonneAfficher.get(row).getPseudo();
        } else if (col == 4) {
            temp = listePersonneAfficher.get(row).getDegre_celeb();
        }

        return temp;
    }

    @Override
    public String getColumnName(int col) // NON OBLIGATOIRE
    {
        return nomColonne[col];
    }

    /* Définition de la valeur d'objet de la cellule située dans la colonne col et la ligne row */
    @Override
    public void setValueAt(Object value, int row, int col) {
        Personne temp = listePersonneAfficher.get(row);
/*
        if (col == 0) {
            temp.setNuméroIdentification((String) value);
        } else if (col == 1) {
            temp.setNomStation((String) value);
        } else if (col == 2) {
            temp.getArrond().setNuméroArrondissementVille((Integer) value);
        } else if (col == 3) {
            temp.getArrond().setNomArrondissementVille((String) value);
        }
*/
        fireTableCellUpdated(row, col);
    }

    public void Suppr(int[] temp) {
        /*List<Station> list = new ArrayList<Station>();
        for (int i = 0; i < temp.length; i++) {
            list.add(listeStation.get(temp[i]));
        }
        listeStation.removeAll(list);
        fireTableDataChanged();*/
    }

    public void addValue(Personne pelo) {
        listePersonneAfficher.add(pelo);
    }
}
// Fin classe MonModeleTable